home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / prog_c / cuj0696.zip / SAKS.ZIP / TABLE1.O next >
Text File  |  1996-03-25  |  994b  |  52 lines

  1. Table 1 - A simplified grammar for C++ object and function declarations.
  2.  
  3. simple-declaration =
  4.     decl-specifier-seq declarator-list .
  5.  
  6. decl-specifier-seq =
  7.     { decl-specifier } .
  8.  
  9. decl-specifier =
  10.     type-specifier .
  11.  
  12. type-specifier =
  13.     cv-qualifier | simple-type-specifier .
  14.  
  15. simple-type-specifier =
  16.     type-keyword | type-name .
  17.  
  18. type-name =
  19.     name .
  20.  
  21. declarator-list =
  22.     declarator { "," declarator } .
  23.  
  24. declarator =
  25.     direct-declarator |
  26.     ptr-operator declarator .
  27.  
  28. direct-declarator =
  29.     ( declarator-id | "(" declarator ")" )
  30.         { array-suffix | function-suffix } .
  31.  
  32. declarator-id =
  33.     identifier .
  34.  
  35. array-suffix =
  36.     "[" [ constant-expression ] "]" .
  37.  
  38. constant-expression =
  39.     name | integer-literal .
  40.  
  41. function-suffix =
  42.     "(" [ parameter-clause ] ")" cv-qualifier-seq .
  43.  
  44. ptr-operator =
  45.     "&" | [ class-name "::" ] "*" cv-qualifier-seq .
  46.  
  47. class-name =
  48.     name .
  49.  
  50. cv-qualifier-seq =
  51.     { cv-qualifier } .
  52.